/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Procs;

import java.io.InputStream;
import java.io.Reader;
import java.math.BigDecimal;
import java.math.BigInteger;
import java.net.URL;
import java.sql.Array;
import java.sql.Blob;
import java.sql.Clob;
import java.sql.DriverManager;
import java.sql.NClob;
import java.sql.Ref;
import java.sql.ResultSetMetaData;
import java.sql.RowId;
import java.sql.SQLException;
import java.sql.SQLWarning;
import java.sql.SQLXML;
import java.sql.Statement;
import java.sql.Time;
import java.sql.Timestamp;
import java.util.Calendar;
import java.util.Date;
import java.util.Map;;

/**
 *
 * @author josema
 */
public class procs_usuario {
    
    java.sql.Connection con = null;    
             java.sql.ResultSet rs = null ;
    public procs_usuario()  
    {
        try{
             con = DriverManager.getConnection("jdbc:mysql://localhost:3306/BDscrum","root","1234");
        // ip bufete.. con = DriverManager.getConnection("jdbc:mysql://10.101.5.154/bufete","bufete","bufete");

        }
        catch (SQLException ex){}
    }
    
    public java.sql.ResultSet buscarusuario(String nombreUsuario, String contr)throws SQLException
    {
         java.sql.ResultSet rs = null;
         Statement cs = con.createStatement();
         rs = cs.executeQuery("select count(idUsuario) as cont, idUsuario, nickname from Usuario where nickname =  "+ "'"+nombreUsuario+"' and contra= '"+contr+"' " );
         return rs;  
    }
        
    public void insertarusuario(String nombre_usuario, String contr, String email, String pais, String cp, String nick) throws SQLException
     {
         java.sql.CallableStatement cs = con.prepareCall("{call InsertarUsuario(" + "'"+nombre_usuario+"',"+ "'"+email+"',"+ "'"+pais+"',"+ "'"+cp+"',"+ "'"+contr+"',"+ "'"+nick+"'"+")}");
         java.sql.Statement stm = con.createStatement();
         java.sql.ResultSet rs = cs.executeQuery();
     }
    
      public java.sql.ResultSet verProyectosUsuario(String idusuario) throws SQLException{
        java.sql.ResultSet rs = null;
         Statement cs =  con.createStatement();
         rs = cs.executeQuery("select p.nombre, p.idProyecto, r.nombre as rn from Proyecto as p inner join rolproyecto as rp on p.idProyecto = rp.Proyecto_idProyecto"
                 + " inner join rol as r on r.idrol=rp.rol_idrol "
                 + " where rp.Usuario_idUsuario = "+idusuario+"" );
         return rs; 
    }
    
     public java.sql.ResultSet verUsuariosProyecto(String idproy) throws SQLException{
        java.sql.ResultSet rs = null;
         Statement cs =  con.createStatement();
         rs = cs.executeQuery("select u.idusuario, u.nombre as un, u.nickname, r.nombre as ur from Usuario as u, "
                 + "rol as r, rolproyecto as rp "
                 + "where (rp.proyecto_idproyecto =" +idproy+") and (u.idusuario = rp.usuario_idusuario) and (rp.rol_idrol = r.idrol)" );
         return rs; 
    }  
     
     public java.sql.ResultSet vertareasproy(String idproy) throws SQLException{
        java.sql.ResultSet rs = null;
         Statement cs =  con.createStatement();
         rs = cs.executeQuery("select u.idUsuario, u.nombre as un, u.nickname, r.nombre, t.nombre as ut "
                 + "from Usuario as u, rol as r, rolproyecto as rp, tarea as t, Usuario_has_Tarea as ut"
                 + "where (rp.Proyecto_idProyecto = " +idproy+") and (u.idUsuario = rp.Usuario_idUsuario) "
                 + "and (rp.rol_idrol = r.idrol) and (u.idUsuario=ut.Usuario_idUsuario) "
                 + "and (ut.Tarea_idTarea=t.idTarea) group by u.idUsuario" );
         return rs; 
    } 
     public void insertarproy(String nombre_proy, String idus) throws SQLException
     {
         java.sql.CallableStatement cs = con.prepareCall("{call InsertarProyecto(" + "'"+nombre_proy+"',"+ ""+idus+""+")}");
         java.sql.Statement stm = con.createStatement();
         java.sql.ResultSet rs = cs.executeQuery();
         
          cs = con.prepareCall("{call AsignarRolaUsuario(" + "3,"+idus+",last_insert_id(),"+idus+")}");
          stm = con.createStatement();
          rs = cs.executeQuery(); 
     }
     
        public void insertarsprint(String nombre_sp,String com, String idus,String fini,String ffin) throws SQLException
     {
         java.sql.CallableStatement cs = con.prepareCall("{call InsertarSprint(" + "'"+nombre_sp+"','"+com+ "',"+idus+",'"+fini+"','"+ffin+"','No iniciado'"+")}");
         java.sql.Statement stm = con.createStatement();
         java.sql.ResultSet rs = cs.executeQuery();
                  
     }
        
     public java.sql.ResultSet versprint() throws SQLException{
        java.sql.ResultSet rs = null;
         Statement cs =  con.createStatement();
         rs = cs.executeQuery("select idsprint,nombre from sprint");
         return rs; 
    }    
      
}
